package com.tubeonfire.entity;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;

import javax.persistence.Id;

import com.googlecode.objectify.annotation.Cached;
import com.googlecode.objectify.annotation.Indexed;
import com.googlecode.objectify.annotation.Unindexed;

@Cached
public class Mission implements Serializable {
	public static final long serialVersionUID = 1L;
	@Id
	private String id = "";

	/*
	 * 1. get active from channel. 2. get videos from channel. If type = 2,
	 * there will be searchType, searchKeyword...value.
	 */
	@Indexed
	private int type = 1;

	@Unindexed
	private String title = "";

	@Unindexed
	private int searchType = 1;

	@Unindexed
	private int searchHd = 1;

	@Unindexed
	private int searchPage = 1;

	@Unindexed
	private int searchTotalPage = 1;

	@Unindexed
	private int searchLimit = 12;

	@Unindexed
	private String searchKeyword = "";

	@Unindexed
	private List<String> tubeIds = new ArrayList<String>();

	@Unindexed
	private String playlistId = "";

	@Indexed
	private Date updated = Calendar.getInstance().getTime();

	/*
	 * 1. not complete 2. complete
	 */
	@Indexed
	private int status = 1;

	public Date getUpdated() {
		return updated;
	}

	public void setUpdated(Date updated) {
		this.updated = updated;
	}

	public List<String> getTubeIds() {
		return tubeIds;
	}

	public void setTubeIds(List<String> tubeIds) {
		this.tubeIds = tubeIds;
	}

	public String getPlaylistId() {
		return playlistId;
	}

	public void setPlaylistId(String playlistId) {
		this.playlistId = playlistId;
	}

	public int getStatus() {
		return status;
	}

	public void setStatus(int status) {
		this.status = status;
	}

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public int getType() {
		return type;
	}

	public void setType(int type) {
		this.type = type;
	}

	public String getTitle() {
		return title;
	}

	public void setTitle(String title) {
		this.title = title;
	}

	public int getSearchType() {
		return searchType;
	}

	public void setSearchType(int searchType) {
		this.searchType = searchType;
	}

	public int getSearchHd() {
		return searchHd;
	}

	public void setSearchHd(int searchHd) {
		this.searchHd = searchHd;
	}

	public int getSearchPage() {
		return searchPage;
	}

	public void setSearchPage(int searchPage) {
		this.searchPage = searchPage;
	}

	public int getSearchTotalPage() {
		return searchTotalPage;
	}

	public void setSearchTotalPage(int searchTotalPage) {
		this.searchTotalPage = searchTotalPage;
	}

	public int getSearchLimit() {
		return searchLimit;
	}

	public void setSearchLimit(int searchLimit) {
		this.searchLimit = searchLimit;
	}

	public String getSearchKeyword() {
		return searchKeyword;
	}

	public void setSearchKeyword(String searchKeyword) {
		this.searchKeyword = searchKeyword;
	}

}
